54 research outputs found

    Avoiding synchronization to accelerate a CFD solver in GPU

    Get PDF
    The caffa3d.MBRi is an open source, GPU-aware, general purpose incompressible flow solver, aimed at providing a useful tool for numerical simulation of real world fluid flow problems that require both geometrical flexibility and parallel computation capabilities to afford tens and hundreds million cells simulations. At the core of this tool there are a number of linear solvers that can be selected according to the characteristics of the problem to solve. For band matrices, the most efficient linear solver included in caffa3d.MBRi is the Strongly Implicit Procedure (SIP) solver. The parallelization of this solver follows the hyper-planes strategy, where the computations in one hyper-plane bare no dependencies and can be executed in parallel, while the hyper-planes have to be processed sequentially. In this work, we analyze this strategy to reach an efficient GPU implementation of the SIP solver for the caffa3d.MBRi. In particular, we design and implement a self-scheduling procedure to avoid the overhead of CPU-GPU synchronization implied by the hyper-planes strategy, outperforming the standard GPU implementation of the SIP by approximately 2x.Agencia Nacional de Investigación e Innovació

    Escalabilidad de modelos numéricos del Río de la Plata

    Get PDF
    Uno de los modelos más utilizados para la simulación de mareas es el RMA-10 desarrollado por I. P. King (1993) y sus colaboradores. Entre las principales características se puede destacar sus cualidades de descripción, su capacidad de trabajar con grilla irregular y con distintos tipos de elementos y el tratamiento que realiza de la viscosidad turbulenta. Sin embargo en muchos casos, principalmente cuando se trabaja en 3 dimensiones, los excesivos costos computacionales, tiempo de cálculo, del modelo los transforman en una elección prohibitiva. Por estas razones, se diseñó y desarrolló una modificación del modelo centrada en la etapa de resolución de los sistemas lineales. Esta modificación se presentó en trabajos anteriores.Este trabajo se centra en evaluar la modificación propuesta anteriormente, estudiando la influencia de las estrategias de ordenamiento de pivotes en el tiempo de cómputo y la capacidad de escalamiento de la propuesta ante el aumento del tamañoo de los problemas.VII Workshop de Procesamiento Distribuido y Paralelo (WPDP)Red de Universidades con Carreras en Informática (RedUNCI

    Escalabilidad de modelos numéricos del Río de la Plata

    Get PDF
    Uno de los modelos más utilizados para la simulación de mareas es el RMA-10 desarrollado por I. P. King (1993) y sus colaboradores. Entre las principales características se puede destacar sus cualidades de descripción, su capacidad de trabajar con grilla irregular y con distintos tipos de elementos y el tratamiento que realiza de la viscosidad turbulenta. Sin embargo en muchos casos, principalmente cuando se trabaja en 3 dimensiones, los excesivos costos computacionales, tiempo de cálculo, del modelo los transforman en una elección prohibitiva. Por estas razones, se diseñó y desarrolló una modificación del modelo centrada en la etapa de resolución de los sistemas lineales. Esta modificación se presentó en trabajos anteriores.Este trabajo se centra en evaluar la modificación propuesta anteriormente, estudiando la influencia de las estrategias de ordenamiento de pivotes en el tiempo de cómputo y la capacidad de escalamiento de la propuesta ante el aumento del tamañoo de los problemas.VII Workshop de Procesamiento Distribuido y Paralelo (WPDP)Red de Universidades con Carreras en Informática (RedUNCI

    Una versión paralela del NSGA II utilizando multi-threads

    Get PDF
    El trabajo presenta una versión paralela mediante estrategias de multi-threads, del algoritmo evolutivo para optimización multiobjetivo NSGA-II. Se muestran los detalles de diseño e implementación de la versión paralela, en la que se define una estructura de vecindad la cual estipula la interacción entre las distintas sub-poblaciones. Se analiza la calidad de resultados y la eficiencia computacional, comparando con los resultados y tiempos de ejecución de la versión secuencial del algoritmo NSGA-II sobre un conjunto de problemas de prueba estándar.Eje: V - Workshop de agentes y sistemas inteligentesRed de Universidades con Carreras en Informática (RedUNCI

    Una versión paralela del NSGA II utilizando multi-threads

    Get PDF
    El trabajo presenta una versión paralela mediante estrategias de multi-threads, del algoritmo evolutivo para optimización multiobjetivo NSGA-II. Se muestran los detalles de diseño e implementación de la versión paralela, en la que se define una estructura de vecindad la cual estipula la interacción entre las distintas sub-poblaciones. Se analiza la calidad de resultados y la eficiencia computacional, comparando con los resultados y tiempos de ejecución de la versión secuencial del algoritmo NSGA-II sobre un conjunto de problemas de prueba estándar.Eje: V - Workshop de agentes y sistemas inteligentesRed de Universidades con Carreras en Informática (RedUNCI

    Time-power-energy balance of BLAS kernels in modern FPGAs

    Get PDF
    Conference proceedings 2022High Performance Computing. 9th Latin American Conference, CARLA 2022, Porto Alegre, Brazil, 26-30 sep 2022, Revised Selected Papers.Numerical Linear Algebra (NLA) is a research field that in the last decades has been characterized by the use of kernel libraries that are de facto standards. One of the most remarkable examples, in particular in the HPC field, is the Basic Linear Algebra Subroutines (BLAS). Most BLAS operations are fundamental in multiple scientific algorithms because they generally constitute the most computationally expensive stage. For this reason, numerous efforts have been made to optimize such operations on various hardware platforms. There is a growing concern in the high-performance computing world about power consumption, making energy efficiency an extremely important quality when evaluating hardware platforms. Due to their greater energy efficiency, Field-Programmable Gate Arrays (FPGAs) are available today as an interesting alternative to other hardware platforms for the acceleration of this type of operation. Our study focuses on the evaluation of FPGAs to address dense NLA operations. Specifically, in this work we explore and evaluate the available options for two of the most representative kernels of BLAS, i.e. GEMV and GEMM. The experimental evaluation is carried out in an Alveo U50 accelerator card from Xilinx and an Intel Xeon Silver multicore CPU. Our findings show that even in kernels where the CPU reaches better runtimes, the FPGA counterpart is more energy efficient.Los investigadores contaron con el apoyo de la Universidad de la República y el PEDECIBA.Se agradece a la ANII – MPG Independent Research Groups : “Efficient Hetergenous Computing” - CSC grou

    Resolución de la ecuación de transporte en arquitecturas many-cores evaluando esquemas explícitos e implícitos

    Get PDF
    En este trabajo se aborda la ecuación del transporte advectiva-difusiva lineal en 3D, ecuación en derivadas parciales con términos parabólicos e hiperbólicos. Uno de los paradigmas numéricos más utilizados para la discretización (y posterior resolución) de este tipo de sistemas de ecuaciones es el método de las diferencias finitas. Este método permite hacer un abordaje con diversos esquemas, de forma tal que se pueden especificar métodos explícitos o implícitos en el tiempo o un promedio de ambos. En este trabajo se comparan diferentes esquemas de resolución (explícito y Crank-Nicolson) y diferentes métodos de resolución (SIP y predictor-corrector para el esquema no explicito), desde el punto de vista de la precisión numérica (mediante la comparación con aproximaciones analíticas) y la escalabilidad de rendimiento en el uso de plataformas masivamente paralelas. Cada esquema se implementó en dos códigos paralelos (C + CUDA y C + OpenMP). Para cada implementación se evaluó el desempeño, en precisión y tiempo de cálculo, considerando diferentes tamaños de maya, discretización temporal y criterios de convergencia, llegando a resolver casos de hasta 223.495.688 celdas. Los resultados obtenidos muestran que para el caso estudiado los métodos explícitos permiten obtener resultados con el mismo nivel de precisión que los implícitos y con tiempos de cálculo menores, cuando los primeros son implementados en GPU.Publicado en: Mecánica Computacional vol. XXXV, no. 11Facultad de Ingenierí

    Versión inicial de una biblioteca para la enseñanza de álgebra lineal numérica

    Get PDF
    La resolución de una gran cantidad de modelos presentes en la computación científica se basan en la solución de problemas del álgebra lineal numérica (ALN). Esta situación ha motivado fuertemente el desarrollo del área. En contraposición al importante desarrollo se ha incrementado en forma abrupta la complejidad de las estrategias de resolución utilizadas, dificultando la comprensión por parte de los alumnos de los algoritmos utilizados. En este contexto la propuesta se centra en el desarrollo de una biblioteca de ALN de carácter didáctico. Por esta razón, la documentación es vasta y el código fue escrito pensando en su fácil lectura. Las rutinas implementadas son eficientes desde el punto de vista algorítmico. Pero determinadas mejoras de desempeño, propias de la implementación, fueron descartadas para mantener la legibilidad del código. Este documento presenta el diseño, las funcionalidades y la implementación realizada. Se describe también la documentación técnica que acompaña a la implementación, la cual es de utilidad para el estudio. Finalmente se mencionan conclusiones y se describen posibles trabajos futuros sobre la herramienta construida.Workshop de Tecnología Informática Aplicada en Educación (WTIAE)Red de Universidades con Carreras en Informática (RedUNCI

    Using graphics processors to accelerate the computation of the matrix inverse

    Get PDF
    We study the use of massively parallel architectures for computing a matrix inverse. Two different algorithms are reviewed, the traditional approach based on Gaussian elimination and the Gauss-Jordan elimination alternative, and several high performance implementations are presented and evaluated. The target architecture is a current general-purpose multi-core processor (CPU) connected to a graphics processor (GPU). Numerical experiments show the efficiency attained by the proposed implementations and how the computation of large-scale inverses, which only a few years ago would have required a distributed-memory cluster, take only a few minutes on a hybrid architecture formed by a multi-core CPU and a GPU

    Resolución de la ecuación de transporte en arquitecturas many-cores evaluando esquemas explícitos e implícitos

    Get PDF
    En este trabajo se aborda la ecuación del transporte advectiva-difusiva lineal en 3D, ecuación en derivadas parciales con términos parabólicos e hiperbólicos. Uno de los paradigmas numéricos más utilizados para la discretización (y posterior resolución) de este tipo de sistemas de ecuaciones es el método de las diferencias finitas. Este método permite hacer un abordaje con diversos esquemas, de forma tal que se pueden especificar métodos explícitos o implícitos en el tiempo o un promedio de ambos. En este trabajo se comparan diferentes esquemas de resolución (explícito y Crank-Nicolson) y diferentes métodos de resolución (SIP y predictor-corrector para el esquema no explicito), desde el punto de vista de la precisión numérica (mediante la comparación con aproximaciones analíticas) y la escalabilidad de rendimiento en el uso de plataformas masivamente paralelas. Cada esquema se implementó en dos códigos paralelos (C + CUDA y C + OpenMP). Para cada implementación se evaluó el desempeño, en precisión y tiempo de cálculo, considerando diferentes tamaños de maya, discretización temporal y criterios de convergencia, llegando a resolver casos de hasta 223.495.688 celdas. Los resultados obtenidos muestran que para el caso estudiado los métodos explícitos permiten obtener resultados con el mismo nivel de precisión que los implícitos y con tiempos de cálculo menores, cuando los primeros son implementados en GPU.Publicado en: Mecánica Computacional vol. XXXV, no. 11Facultad de Ingenierí
    corecore